package com.example.chenhaosblog.utils;

import org.apache.shiro.crypto.hash.Md5Hash;

import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

public class UuidUtil {

	public static String get32UUID() {
		String uuid = UUID.randomUUID().toString().trim().replaceAll("-", "");
		return uuid;
	}

//	public static void main(String[] args) {
//		for(int i=0;i<1000;i++){
//			System.out.println(get32UUID());
//		}
//
//	}

  public static Map<String,Object> getPassword(String password, String username) {
		Map map=new HashMap<String,Object>();
		int hashInterrations=2;
		String uuid = UUID.randomUUID().toString().trim().replaceAll("-", "");
		String salt=username+uuid;
		Md5Hash md5Hash=new Md5Hash(password, salt, hashInterrations);
		map.put("uuid",uuid);//在数据表中就是salt
		map.put("password",md5Hash.toString());
		return map;
	}
//	public static void main(String[] args) {
//		//原始密码
//		String source="123456";
//		//盐
//		String salt="admin8d78869f470951332959580424d4bf4f";
//		//散列次数
//		int hashInterrations=2;
//		/*	方法1：
//		 * 第一个参数：明文，原始密码
//		 * 第二个参数：盐，通常使用随机数，这里指定固定字符串
//		 * 第三个参数：散列的次数，比如散列两次，相当 于md5(md5(''))
//		 */
//		Md5Hash md5Hash=new Md5Hash(source, salt, hashInterrations);
//		System.out.println(md5Hash);
//		//方法2：第一个参数：散列算法
//		SimpleHash sim=new SimpleHash("md5", source, salt,hashInterrations);
//		System.out.println(sim);
//	}

}

